// components/navigation-bar/navigation-bar.ts
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    // 是否显示左侧按钮
    isShow: {
      type: Boolean,
      value: false
    },
    // 是否显示左侧返回按钮
    isBack: {
      type: Boolean,
      value: true
    },
    // 返回层级 默认为1
    pageNum: {
      type: Number,
      value: 1
    },
    navTitle: {
      type: String,
      value: ''
    },
    backgroundColor: {
      type: String,
      value: ''
    },
    titleColor: {
      type: String,
      value: ''
    },
    isWhite: {
      type: Boolean,
      value: true
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    capsule: {},
    statusBarHeight: 0,
    navBarHeight: 0,
    left: 0
  },

  lifetimes: {
    // 判断是否有上一级页面，如果有显示返回按钮（isBack参数）否则不显示
    attached() {
      this.setData({
        isBack: getCurrentPages().length > 1
      });
    },
    ready() {
      // 获取机型状态栏信息
      const app = getApp();
      const { statusBarHeight, navBarHeight, windowWidth, capsule } = app.globalData;
      this.setData({
        statusBarHeight,
        navBarHeight,
        left: windowWidth - (capsule?.right || 0), // 胶囊距右边距离
        capsule
      });
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 返回层级 默认为1
    back(e: any) {
      wx.navigateBack({
        delta: e.currentTarget.dataset.num
      });
    },

    // 跳转到首页
    toIndex() {
      console.log('跳转到首页');

      // wx.switchTab({
      //   url: '/pages/index/index'
      // });
    }
  }
});
